1. Field of the Invention
The invention disclosed broadly relates to ubiquitous computing and more particularly relates to improvements in short range RF technology.
2. Background Art
Bluetooth is a short-range radio network, originally intended as a cable replacement. It can be used to create ad hoc networks of up to eight devices operating together. The Bluetooth Special Interest Group, Specification Of The Bluetooth System, Volumes 1 and 2, Core and Profiles: Version 1.1, Feb. 22, 2001, describes the principles of Bluetooth device operation and communication protocols. The devices operate in the 2.4 GHz radio band reserved for general use by Industrial, Scientific, and Medical (ISM) applications. Bluetooth devices are designed to find other Bluetooth devices within their ten-meter radio communications range and to discover what services they offer.
A connection between two Bluetooth devices is initiated by an inquiring device sending out an inquiry message searching for other devices or access points in its vicinity. Any other Bluetooth device or access point that is listening by means of conducting an inquiry scan, will recognize the inquiry message and respond. The inquiry response is a frequency hop synchronization (FHS) packet containing all of the information required by the inquiring device to address the responding device. This information includes clock value of the sender (i.e., the responding device), the sender's correct device access code, and the class-of-device (CoD) field. The access code includes the lower address part (LAP) and the upper address part (UAP) of the sender's Bluetooth Device Address (BD_ADDR), a unique, 48-bit IEEE address that is electronically engraved into each Bluetooth device.
The class-of-device (CoD) field of the FHS packet indicates which device class the sender belongs to, such as printer access point, network access point, PDA, cellular telephone, and the like. The class-of-device (CoD) field is a 24 bit field divided into three subfields and a two-bit format field. The high order eleven bit subfield is reserved for indicating general service classes such as information, telephony, audio, object transfer, capturing, rendering, networking, and positioning. The middle five bit subfield comprises the major device class, which can indicate up to 32 different device types. The low order six bit subfield consists is the minor device class, which can indicate up to 64 different variations of each device type. The lowest order two bits are the format field for identifying the format type of the CoD field.
The inquiring device will become the master and the responding device will become the slave in the eventual piconet, if a connection is established. To establish a connection, the inquiring device must enter the page state. The inquiring/paging device uses the information provided in the inquiry response packet, to prepare and send a paging message to the responding device. The inquiring/paging device uses the estimated clock CLK and access code of the responding device (i.e., the eventual slave device) to temporarily synchronize with it. Since the inquiring/paging device intends to be the master, it includes an assignment of an active member address (AM_ADDR) in the paging message. The paging message sent by the inquiring/paging device is also a frequency hop synchronization (FHS) packet containing all of the information required by the responding device to directly reply to the inquiring/paging device. This information includes clock value of the sender (i.e., the inquiring/paging device) and the inquiring/paging device's correct device access code. The responding device must be in the page scan state to allow the inquiring/paging device to connect with it. Once in the page scan state, the responding device will receive the paging packet that provides the clock timing and access code of the inquiring/paging device. The responding device responds with a page acknowledgment packet. This enables the two devices to form a connection and both devices transition into the connection state. The inquiring/paging device that has initiated the connection assumes the role of a master device and the responding device assumes the role of a slave device in a new ad hoc network piconet, using the CLK clock timing and access code of the master device.
Each piconet has one master device and up to seven active slave devices. All communication is directed between the master device and each respective slave device. The master initiates an exchange of data and the slave responds to the master. When two slave devices are to communicate with each other, they must do so through the master device. The master device maintains the piconet's network clock and controls when each slave device can communicate with the master device. Members of the ad hoc network piconet join and leave as they move into and out of the range of the master device. Piconets support distributed activities, such as multi-user gateways to the Internet or to a content server, wherein one device serves as the access point and is connected to an infrastructure network or content server. A user's device that joins a multi-user gateway piconet, does so to enable its user to access the infrastructure network or content server.
Bluetooth access points can deliver approximately 1 Mbps of bandwidth per each Bluetooth module to its client devices. In order to guarantee at least some portion of the bandwidth for each client, some intelligent bandwidth allocation method is required to allow each client device to reserve usable amounts of bandwidth. By preventing connection stalling, bandwidth “exhaustion” is avoided, and more efficient bandwidth allocation is provided.